分組座位和四連桿機構

分組座位原始碼

#import os
adata = open("w2b_cadlab.txt", encoding="utf-8").read()
#讀取w2b_cadlab.txt 檔案,讓裡面的內容成為資料, 因為檔案裡有中文, 所以設定encoding 使用utf-8 的編驛碼
rdata = open("w2b_registered.txt", encoding="utf-8").read().splitlines()
#print(adata)
#用print 先檢查資料是否是我們需要的
alist = adata.splitlines()
#利用splitlines 的方法把資料隔開, 就可以得到一個特定的數列
#print(alist[2])
n = 0
row = 0
final_list = []
w2_list = []
for stud_num in alist[2:]:
#從第2列開始, 因為第0列和第1列都不是我們要的
    row = row + 1
    blist = stud_num.split("\t")
    #print(blist)
    column = 0
    #為了避免序號連續, 利用column = 0 將順序重製, 因為每一列算完之後要換下一列重新開始
    for i in range(len(blist)):
        column = column + 1
        if blist[i] != "":
            #print(blist[i])
            clist = blist[i].split("_")
            stud_data = clist[0]+"_"+clist[1]+"_"+str(row)+"_"+str(column)
            final_list.append(stud_data)
            w2_list.append(clist[1])
            n = n +1
# 根據數列前導字串排序, 目的在建立分組數列
group_list = sorted(final_list)
print("分組名單:")
for i in range(len(group_list)):
    print(group_list[i])
print("座位列表:")
for i in range(len(final_list)):
    print(final_list[i])
for i in range(len(rdata)):
    if rdata[i] not in w2_list:
        print("缺席學生:", rdata[i])
print("學生總數:", n)
#print(os.environ)

Solvespace

影片